home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / compile_to_jvm31.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  29KB  |  1,527 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_jvm.h"
  9. /*No:EXPORT_LIST.start_position*/
  10. /*No:EXPORT_LIST.items*/
  11.  
  12.  
  13. T0* r322clients_for(T322* C,T0* a1){
  14. T0* R=NULL;
  15. T0* _ei=NULL;
  16. T2 _i=0;
  17. _i=((T323*)((C)->_items/*4*/))->_upper/*8*/;
  18. while (!((_i)==(0))) {
  19. _ei=r323item((T323*)((C)->_items/*4*/),_i);
  20. /*[IF*/
  21. if(r321affect(((T321*)_ei),a1)){
  22. /*[IF*/
  23. if((R)==((void*)(NULL))){
  24. R=(((T321*)_ei))->_clients/*0*/;
  25. }
  26. else{
  27. R=r103merge_with(((T103*)R),(((T321*)_ei))->_clients/*0*/);
  28. }
  29. /*FI]*/
  30. }
  31. /*FI]*/
  32. _i=(_i)-(1);
  33. }
  34. return R;
  35. }
  36.  
  37.  
  38. void r322make(T322* C,T0* a1,T0* a2){
  39. C->_start_position=a1;
  40. C->_items=a2;
  41. }
  42.  
  43.  
  44. T2 r379static_value(T379* C){
  45. T2 R=0;
  46. R=X109static_value((C)->_expression/*4*/);
  47. return R;
  48. }
  49.  
  50.  
  51. T6 r379is_static(T379* C){
  52. T6 R=0;
  53. R=X109is_static((C)->_expression/*4*/);
  54. return R;
  55. }
  56.  
  57.  
  58. T6 r379can_be_dropped(T379* C){
  59. T6 R=0;
  60. R=X109can_be_dropped((C)->_expression/*4*/);
  61. return R;
  62. }
  63. /*No:IMPLICIT_CAST.is_manifest_string*/
  64.  
  65.  
  66. T0* r379start_position(T379* C){
  67. T0* R=NULL;
  68. R=X109start_position((C)->_expression/*4*/);
  69. return R;
  70. }
  71.  
  72.  
  73. T0* r379add_comment(T379* C,T0* a1){
  74. T0* R=NULL;
  75. /*[IF*/
  76. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
  77. R=(T0*)C;
  78. }
  79. else{
  80. {T234*n=malloc(sizeof(*n));
  81. *n=M234;
  82. r234make(n,(T0*)C,a1);
  83. R=(T0*)n;
  84. }
  85. }
  86. /*FI]*/
  87. return R;
  88. }
  89. /*No:IMPLICIT_CAST.expression*/
  90.  
  91.  
  92. void r379compile_target_to_jvm(T379* C){
  93. T2 _space=0;
  94. X109compile_target_to_jvm((C)->_expression/*4*/);
  95. _space=X52jvm_convert_to(X109result_type((C)->_expression/*4*/),(C)->_result_type/*8*/);
  96. }
  97.  
  98.  
  99. T2 r379to_integer(T379* C){
  100. T2 R=0;
  101. r379error(r379start_position(C),((T0*)ms13_45846));
  102. return R;
  103. }
  104.  
  105.  
  106. T6 r379use_current(T379* C){
  107. T6 R=0;
  108. R=X109use_current((C)->_expression/*4*/);
  109. return R;
  110. }
  111.  
  112.  
  113. T2 r379jvm_branch_if_true(T379* C){
  114. T2 R=0;
  115. R=X109jvm_branch_if_true((C)->_expression/*4*/);
  116. return R;
  117. }
  118.  
  119.  
  120. T0* r379to_runnable(T379* C,T0* a1){
  121. T0* R=NULL;
  122. T0* _e=NULL;
  123. _e=X109to_runnable((C)->_expression/*4*/,a1);
  124. /*[IF*/
  125. if(((C)->_expression/*4*/)==((void*)(_e))){
  126. R=(T0*)C;
  127. }
  128. else{
  129. {T379*n=malloc(sizeof(*n));
  130. *n=M379;
  131. r379make(n,_e,(C)->_result_type/*8*/);
  132. R=(T0*)n;
  133. }
  134. }
  135. /*FI]*/
  136. return R;
  137. }
  138.  
  139.  
  140. T2 r379compile_to_jvm_into(T379* C,T0* a1){
  141. T2 R=0;
  142. R=X109compile_to_jvm_into((C)->_expression/*4*/,a1);
  143. return R;
  144. }
  145.  
  146.  
  147. T2 r379isa_dca_inline_argument(T379* C){
  148. T2 R=0;
  149. R=X109isa_dca_inline_argument((C)->_expression/*4*/);
  150. return R;
  151. }
  152.  
  153.  
  154. T6 r379is_pre_computable(T379* C){
  155. T6 R=0;
  156. R=X109is_pre_computable((C)->_expression/*4*/);
  157. return R;
  158. }
  159. /*No:IMPLICIT_CAST.fz_iinaiv*/
  160. /*No:IMPLICIT_CAST.result_type*/
  161.  
  162.  
  163. void r379error(T0* a1,T0* a2){
  164. r21add_position(a1);
  165. r21error((T21*)(oBC12eh),a2);
  166. }
  167.  
  168.  
  169. void r379make(T379* C,T0* a1,T0* a2){
  170. C->_expression=a1;
  171. C->_result_type=a2;
  172. }
  173.  
  174.  
  175. void r379compile_to_jvm_assignment(T379* C,T0* a1){
  176. X109compile_to_jvm_assignment((C)->_expression/*4*/,a1);
  177. }
  178.  
  179.  
  180. T6 r379is_current(T379* C){
  181. T6 R=0;
  182. R=X109is_current((C)->_expression/*4*/);
  183. return R;
  184. }
  185. /*No:IMPLICIT_CAST.is_void*/
  186.  
  187.  
  188. void r379compile_to_jvm_old(T379* C){
  189. X109compile_to_jvm_old((C)->_expression/*4*/);
  190. }
  191.  
  192.  
  193. void r379jvm_assign(T379* C){
  194. X109jvm_assign((C)->_expression/*4*/);
  195. }
  196.  
  197.  
  198. T2 r379jvm_branch_if_false(T379* C){
  199. T2 R=0;
  200. R=X109jvm_branch_if_false((C)->_expression/*4*/);
  201. return R;
  202. }
  203.  
  204.  
  205. void r379compile_to_jvm(T379* C){
  206. T2 _space=0;
  207. X109compile_to_jvm((C)->_expression/*4*/);
  208. _space=X52jvm_convert_to(X109result_type((C)->_expression/*4*/),(C)->_result_type/*8*/);
  209. }
  210.  
  211.  
  212. void r379afd_check(T379* C){
  213. X109afd_check((C)->_expression/*4*/);
  214. }
  215.  
  216.  
  217. T6 r379is_result(T379* C){
  218. T6 R=0;
  219. R=X109is_result((C)->_expression/*4*/);
  220. return R;
  221. }
  222. /*No:CALL_INFIX_GT.static_value*/
  223. /*No:CALL_INFIX_GT.feature_name*/
  224.  
  225.  
  226. T6 r127is_static(T127* C){
  227. T6 R=0;
  228. /*[IF*/
  229. if(X52is_integer(X109result_type((C)->_target/*4*/))){
  230. /*[IF*/
  231. if((X109is_static((C)->_target/*4*/))&&(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  232. R=1;
  233. /*[IF*/
  234. if((X109static_value((C)->_target/*4*/))>(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  235. C->_static_value_mem=1;
  236. }
  237. else{
  238. C->_static_value_mem=0;
  239. }
  240. /*FI]*/
  241. }
  242. /*FI]*/
  243. }
  244. /*FI]*/
  245. return R;
  246. }
  247. /*No:CALL_INFIX_GT.is_manifest_string*/
  248.  
  249.  
  250. T0* r127start_position(T127* C){
  251. T0* R=NULL;
  252. R=((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  253. return R;
  254. }
  255.  
  256.  
  257. T0* r127add_comment(T127* C,T0* a1){
  258. T0* R=NULL;
  259. /*[IF*/
  260. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
  261. R=(T0*)C;
  262. }
  263. else{
  264. {T234*n=malloc(sizeof(*n));
  265. *n=M234;
  266. r234make(n,(T0*)C,a1);
  267. R=(T0*)n;
  268. }
  269. }
  270. /*FI]*/
  271. return R;
  272. }
  273.  
  274.  
  275. T2 r127to_integer(T127* C){
  276. T2 R=0;
  277. r127error(r127start_position(C),((T0*)ms13_45846));
  278. return R;
  279. }
  280.  
  281.  
  282. T6 r127use_current(T127* C){
  283. T6 R=0;
  284. /*[IF*/
  285. {/*AT*/R=r152use_current((T152*)((C)->_arguments/*8*/));
  286. }
  287. /*FI]*/
  288. /*[IF*/
  289. if(R){
  290. }
  291.  else if(X109is_current((C)->_target/*4*/)){
  292. R=X27use_current((C)->_run_feature/*16*/);
  293. }
  294. else{
  295. R=X109use_current((C)->_target/*4*/);
  296. }
  297. /*FI]*/
  298. return R;
  299. }
  300.  
  301.  
  302. T2 r127jvm_branch_if_true(T127* C){
  303. T2 R=0;
  304. /*[IF*/
  305. if(X52is_integer(r127result_type(C))){
  306. X109compile_to_jvm((C)->_target/*4*/);
  307. X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  308. R=r28opcode_if_icmpgt((T28*)(oBC12code_attribute));
  309. }
  310. else{
  311. R=r127jvm_standard_branch_if_true(C);
  312. }
  313. /*FI]*/
  314. return R;
  315. }
  316.  
  317.  
  318. T0* r127to_runnable(T127* C,T0* a1){
  319. T0* R=NULL;
  320. T0* _rf=NULL;
  321. T0* _tbee=NULL;
  322. T0* _at=NULL;
  323. T0* _tt=NULL;
  324. T0* _a=NULL;
  325. T0* _t=NULL;
  326. _t=r127runnable_expression((C)->_target/*4*/,a1);
  327. _a=r127runnable_args((C)->_arguments/*8*/,a1);
  328. _tt=X109result_type(_t);
  329. _at=X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  330. /*[IF*/
  331. /*AF*//*AE*/
  332. /*FI]*/
  333. _rf=r127run_feature_for(C,_t,a1);
  334. /*[IF*/
  335. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  336. C->_target=_t;
  337. C->_arguments=_a;
  338. C->_run_feature=_rf;
  339. r127run_feature_match(C,a1);
  340. R=(T0*)C;
  341. }
  342.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  343. R=(T0*)C;
  344. }
  345. else{
  346. {T127*n=malloc(sizeof(*n));
  347. *n=M127;
  348. r127with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  349. R=(T0*)n;
  350. }
  351. }
  352. /*FI]*/
  353. return R;
  354. }
  355.  
  356.  
  357. T2 r127compile_to_jvm_into(T127* C,T0* a1){
  358. T2 R=0;
  359. R=r127standard_compile_to_jvm_into(C,a1);
  360. return R;
  361. }
  362. /*No:CALL_INFIX_GT.is_pre_computable*/
  363. /*No:CALL_INFIX_GT.fz_bad_argument*/
  364. /*No:CALL_INFIX_GT.fz_iinaiv*/
  365.  
  366.  
  367. T0* r127result_type(T127* C){
  368. T0* R=NULL;
  369. T0* _tla=NULL;
  370. R=X27result_type((C)->_run_feature/*16*/);
  371. /*[IF*/
  372. if(X52is_like_current(R)){
  373. R=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  374. }
  375. else{
  376. _tla=R;
  377. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  378. case 262: 
  379. break;
  380. default:
  381. _tla=NULL;
  382. };/*[IF*/
  383. if((_tla)!=((void*)(NULL))){
  384. R=X52run_type(X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
  385. }
  386. /*FI]*/
  387. }
  388. /*FI]*/
  389. return R;
  390. }
  391. /*No:CALL_INFIX_GT.static_value_mem*/
  392. /*No:CALL_INFIX_GT.run_feature*/
  393.  
  394.  
  395. T0* r127runnable_args(T0* a1,T0* a2){
  396. T0* R=NULL;
  397. R=r152to_runnable(((T152*)a1),a2);
  398. /*[IF*/
  399. if((R)==((void*)(NULL))){
  400. r21add_position(r152start_position(((T152*)a1)));
  401. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
  402. r21fatal_error((T21*)(oBC12eh),b1);
  403. }/*]*/
  404. }
  405. /*FI]*/
  406. return R;
  407. }
  408.  
  409.  
  410. void r127standard_compile_target_to_jvm(T127* C){
  411. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T127* C1=C;
  412. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  413. }/*]*/
  414. /*]*/
  415. X52jvm_check_class_invariant(r127result_type(C));
  416. }
  417. /*No:CALL_INFIX_GT.compile_to_jvm_assignment*/
  418. /*No:CALL_INFIX_GT.fz_07*/
  419.  
  420.  
  421. void r127compile_to_jvm_old(T127* C){
  422. X109compile_to_jvm_old((C)->_target/*4*/);
  423. /*[IF*/
  424. {/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
  425. }
  426. /*FI]*/
  427. }
  428. /*No:CALL_INFIX_GT.jvm_assign*/
  429.  
  430.  
  431. T2 r127jvm_branch_if_false(T127* C){
  432. T2 R=0;
  433. /*[IF*/
  434. if(X52is_integer(r127result_type(C))){
  435. X109compile_to_jvm((C)->_target/*4*/);
  436. X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  437. R=r28opcode_if_icmple((T28*)(oBC12code_attribute));
  438. }
  439. else{
  440. R=r127jvm_standard_branch_if_false(C);
  441. }
  442. /*FI]*/
  443. return R;
  444. }
  445. /*No:CALL_INFIX_GT.compile_to_jvm*/
  446. /*No:CALL_INFIX_GT.arg_count*/
  447.  
  448.  
  449. void r127with(T127* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  450. C->_target=a1;
  451. C->_feature_name=a2;
  452. C->_arguments=a3;
  453. C->_run_feature=a4;
  454. r127run_feature_match(C,a5);
  455. }
  456. /*No:CALL_INFIX_GT.call_proc_call_c2jvm*/
  457. /*No:CALL_INFIX_GT.is_result*/
  458. /*No:CALL_INFIX_GT.fatal_error*/
  459.  
  460.  
  461. void r127run_feature_match(T127* C,T0* a1){
  462. r127run_feature_has_result(C);
  463. r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
  464. }
  465. /*No:CALL_INFIX_GT.arguments*/
  466.  
  467.  
  468. T0* r127runnable_expression(T0* a1,T0* a2){
  469. T0* R=NULL;
  470. R=X109to_runnable(a1,a2);
  471. /*[IF*/
  472. if((R)==((void*)(NULL))){
  473. r21add_position(X109start_position(a1));
  474. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
  475. r21fatal_error((T21*)(oBC12eh),b1);
  476. }/*]*/
  477. }
  478. /*FI]*/
  479. return R;
  480. }
  481. /*No:CALL_INFIX_GT.can_be_dropped*/
  482. /*No:CALL_INFIX_GT.us_gt*/
  483. /*No:CALL_INFIX_GT.implicit_cast*/
  484. /*No:CALL_INFIX_GT.compile_target_to_jvm*/
  485. /*No:CALL_INFIX_GT.isa_dca_inline_argument*/
  486. /*No:CALL_INFIX_GT.arg1*/
  487.  
  488.  
  489. void r127run_feature_has_result(T127* C){
  490. /*[IF*/
  491. if((X27result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  492. r21add_position(X27start_position((C)->_run_feature/*16*/));
  493. r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  494. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms120_53650);
  495. r21fatal_error((T21*)(oBC12eh),b1);
  496. }/*]*/
  497. }
  498. /*FI]*/
  499. }
  500.  
  501.  
  502. T2 r127jvm_standard_branch_if_false(T127* C){
  503. T2 R=0;
  504. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T127* C1=C;
  505. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  506. }/*]*/
  507. /*]*/
  508. R=r28opcode_ifeq((T28*)(oBC12code_attribute));
  509. return R;
  510. }
  511.  
  512.  
  513. T0* r127run_feature_for(T127* C,T0* a1,T0* a2){
  514. T0* R=NULL;
  515. T0* _rc=NULL;
  516. _rc=X52run_class(X109result_type(a1));
  517. R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*12*/,a2);
  518. return R;
  519. }
  520. /*No:CALL_INFIX_GT.target*/
  521.  
  522.  
  523. void r127error(T0* a1,T0* a2){
  524. r21add_position(a1);
  525. r21error((T21*)(oBC12eh),a2);
  526. }
  527.  
  528.  
  529. void r127make(T127* C,T0* a1,T0* a2,T0* a3){
  530. C->_target=a1;
  531. {T141*n=malloc(sizeof(*n));
  532. *n=M141;
  533. r141make(n,r127operator(),a2);
  534. C->_feature_name=(T0*)n;
  535. }
  536. {T152*n=malloc(sizeof(*n));
  537. *n=M152;
  538. /*[IRF3.3make_1*/((((T152*)(n)))->_first_one)=(a3);
  539. /*]*/
  540. C->_arguments=(T0*)n;
  541. }
  542. }
  543. /*No:CALL_INFIX_GT.is_current*/
  544.  
  545.  
  546. T2 r127standard_compile_to_jvm_into(T127* C,T0* a1){
  547. T2 R=0;
  548. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T127* C1=C;
  549. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  550. }/*]*/
  551. /*]*/
  552. R=X52jvm_convert_to(X52run_type(r127result_type(C)),a1);
  553. return R;
  554. }
  555. /*No:CALL_INFIX_GT.is_void*/
  556.  
  557.  
  558. T0* r127operator(void){
  559. T0* R=NULL;
  560. R=((T0*)ms14_63);
  561. return R;
  562. }
  563.  
  564.  
  565. T2 r127jvm_standard_branch_if_true(T127* C){
  566. T2 R=0;
  567. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T127* C1=C;
  568. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  569. }/*]*/
  570. /*]*/
  571. R=r28opcode_ifne((T28*)(oBC12code_attribute));
  572. return R;
  573. }
  574.  
  575.  
  576. void r127afd_check(T127* C){
  577. T0* _running=NULL;
  578. T0* _rc=NULL;
  579. _rc=X52run_class(X109result_type((C)->_target/*4*/));
  580. _running=(((T23*)_rc))->_running/*12*/;
  581. /*[IF*/
  582. if((_running)==((void*)(NULL))){
  583. r21add_position(X109start_position((C)->_target/*4*/));
  584. /*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
  585. r7append((T7*)(oBC21explanation),b1);
  586. }/*]*/
  587. /*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
  588. r7append((T7*)(oBC21explanation),b1);
  589. }/*]*/
  590. /*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
  591. r7append((T7*)(oBC21explanation),b1);
  592. }/*]*/
  593. r21print_as_warning((T21*)(oBC12eh));
  594. r23set_at_run_time(((T23*)_rc));
  595. }
  596.  else if((r340count(((T340*)_running)))>(1)){
  597. r335update((C)->_target/*4*/,(C)->_run_feature/*16*/);
  598. }
  599. /*FI]*/
  600. X109afd_check((C)->_target/*4*/);
  601. /*[IF*/
  602. {/*AT*/r152afd_check((T152*)((C)->_arguments/*8*/));
  603. }
  604. /*FI]*/
  605. }
  606. /*No:CALL_INFIX_LT.static_value*/
  607. /*No:CALL_INFIX_LT.feature_name*/
  608.  
  609.  
  610. T6 r129is_static(T129* C){
  611. T6 R=0;
  612. /*[IF*/
  613. if(X52is_integer(X109result_type((C)->_target/*4*/))){
  614. /*[IF*/
  615. if((X109is_static((C)->_target/*4*/))&&(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  616. R=1;
  617. /*[IF*/
  618. if((X109static_value((C)->_target/*4*/))<(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  619. C->_static_value_mem=1;
  620. }
  621. else{
  622. C->_static_value_mem=0;
  623. }
  624. /*FI]*/
  625. }
  626. /*FI]*/
  627. }
  628. /*FI]*/
  629. return R;
  630. }
  631. /*No:CALL_INFIX_LT.is_manifest_string*/
  632.  
  633.  
  634. T0* r129start_position(T129* C){
  635. T0* R=NULL;
  636. R=((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  637. return R;
  638. }
  639.  
  640.  
  641. T0* r129add_comment(T129* C,T0* a1){
  642. T0* R=NULL;
  643. /*[IF*/
  644. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
  645. R=(T0*)C;
  646. }
  647. else{
  648. {T234*n=malloc(sizeof(*n));
  649. *n=M234;
  650. r234make(n,(T0*)C,a1);
  651. R=(T0*)n;
  652. }
  653. }
  654. /*FI]*/
  655. return R;
  656. }
  657.  
  658.  
  659. T2 r129to_integer(T129* C){
  660. T2 R=0;
  661. r129error(r129start_position(C),((T0*)ms13_45846));
  662. return R;
  663. }
  664.  
  665.  
  666. T6 r129use_current(T129* C){
  667. T6 R=0;
  668. /*[IF*/
  669. {/*AT*/R=r152use_current((T152*)((C)->_arguments/*8*/));
  670. }
  671. /*FI]*/
  672. /*[IF*/
  673. if(R){
  674. }
  675.  else if(X109is_current((C)->_target/*4*/)){
  676. R=X27use_current((C)->_run_feature/*16*/);
  677. }
  678. else{
  679. R=X109use_current((C)->_target/*4*/);
  680. }
  681. /*FI]*/
  682. return R;
  683. }
  684.  
  685.  
  686. T2 r129jvm_branch_if_true(T129* C){
  687. T2 R=0;
  688. /*[IF*/
  689. if(X52is_integer(r129result_type(C))){
  690. X109compile_to_jvm((C)->_target/*4*/);
  691. X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  692. R=r28opcode_if_icmplt((T28*)(oBC12code_attribute));
  693. }
  694. else{
  695. R=r129jvm_standard_branch_if_true(C);
  696. }
  697. /*FI]*/
  698. return R;
  699. }
  700.  
  701.  
  702. T0* r129to_runnable(T129* C,T0* a1){
  703. T0* R=NULL;
  704. T0* _rf=NULL;
  705. T0* _tbee=NULL;
  706. T0* _at=NULL;
  707. T0* _tt=NULL;
  708. T0* _a=NULL;
  709. T0* _t=NULL;
  710. _t=r129runnable_expression((C)->_target/*4*/,a1);
  711. _a=r129runnable_args((C)->_arguments/*8*/,a1);
  712. _tt=X109result_type(_t);
  713. _at=X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  714. /*[IF*/
  715. /*AF*//*AE*/
  716. /*FI]*/
  717. _rf=r129run_feature_for(C,_t,a1);
  718. /*[IF*/
  719. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  720. C->_target=_t;
  721. C->_arguments=_a;
  722. C->_run_feature=_rf;
  723. r129run_feature_match(C,a1);
  724. R=(T0*)C;
  725. }
  726.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  727. R=(T0*)C;
  728. }
  729. else{
  730. {T129*n=malloc(sizeof(*n));
  731. *n=M129;
  732. r129with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  733. R=(T0*)n;
  734. }
  735. }
  736. /*FI]*/
  737. return R;
  738. }
  739.  
  740.  
  741. T2 r129compile_to_jvm_into(T129* C,T0* a1){
  742. T2 R=0;
  743. R=r129standard_compile_to_jvm_into(C,a1);
  744. return R;
  745. }
  746. /*No:CALL_INFIX_LT.is_pre_computable*/
  747. /*No:CALL_INFIX_LT.fz_bad_argument*/
  748. /*No:CALL_INFIX_LT.fz_iinaiv*/
  749.  
  750.  
  751. T0* r129result_type(T129* C){
  752. T0* R=NULL;
  753. T0* _tla=NULL;
  754. R=X27result_type((C)->_run_feature/*16*/);
  755. /*[IF*/
  756. if(X52is_like_current(R)){
  757. R=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  758. }
  759. else{
  760. _tla=R;
  761. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  762. case 262: 
  763. break;
  764. default:
  765. _tla=NULL;
  766. };/*[IF*/
  767. if((_tla)!=((void*)(NULL))){
  768. R=X52run_type(X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
  769. }
  770. /*FI]*/
  771. }
  772. /*FI]*/
  773. return R;
  774. }
  775. /*No:CALL_INFIX_LT.static_value_mem*/
  776. /*No:CALL_INFIX_LT.run_feature*/
  777.  
  778.  
  779. T0* r129runnable_args(T0* a1,T0* a2){
  780. T0* R=NULL;
  781. R=r152to_runnable(((T152*)a1),a2);
  782. /*[IF*/
  783. if((R)==((void*)(NULL))){
  784. r21add_position(r152start_position(((T152*)a1)));
  785. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
  786. r21fatal_error((T21*)(oBC12eh),b1);
  787. }/*]*/
  788. }
  789. /*FI]*/
  790. return R;
  791. }
  792.  
  793.  
  794. void r129standard_compile_target_to_jvm(T129* C){
  795. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T129* C1=C;
  796. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  797. }/*]*/
  798. /*]*/
  799. X52jvm_check_class_invariant(r129result_type(C));
  800. }
  801. /*No:CALL_INFIX_LT.compile_to_jvm_assignment*/
  802. /*No:CALL_INFIX_LT.fz_07*/
  803.  
  804.  
  805. void r129compile_to_jvm_old(T129* C){
  806. X109compile_to_jvm_old((C)->_target/*4*/);
  807. /*[IF*/
  808. {/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
  809. }
  810. /*FI]*/
  811. }
  812. /*No:CALL_INFIX_LT.jvm_assign*/
  813.  
  814.  
  815. T2 r129jvm_branch_if_false(T129* C){
  816. T2 R=0;
  817. /*[IF*/
  818. if(X52is_integer(r129result_type(C))){
  819. X109compile_to_jvm((C)->_target/*4*/);
  820. X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  821. R=r28opcode_if_icmpge((T28*)(oBC12code_attribute));
  822. }
  823. else{
  824. R=r129jvm_standard_branch_if_false(C);
  825. }
  826. /*FI]*/
  827. return R;
  828. }
  829. /*No:CALL_INFIX_LT.compile_to_jvm*/
  830. /*No:CALL_INFIX_LT.arg_count*/
  831.  
  832.  
  833. void r129with(T129* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  834. C->_target=a1;
  835. C->_feature_name=a2;
  836. C->_arguments=a3;
  837. C->_run_feature=a4;
  838. r129run_feature_match(C,a5);
  839. }
  840. /*No:CALL_INFIX_LT.call_proc_call_c2jvm*/
  841. /*No:CALL_INFIX_LT.is_result*/
  842. /*No:CALL_INFIX_LT.fatal_error*/
  843.  
  844.  
  845. void r129run_feature_match(T129* C,T0* a1){
  846. r129run_feature_has_result(C);
  847. r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
  848. }
  849. /*No:CALL_INFIX_LT.arguments*/
  850.  
  851.  
  852. T0* r129runnable_expression(T0* a1,T0* a2){
  853. T0* R=NULL;
  854. R=X109to_runnable(a1,a2);
  855. /*[IF*/
  856. if((R)==((void*)(NULL))){
  857. r21add_position(X109start_position(a1));
  858. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
  859. r21fatal_error((T21*)(oBC12eh),b1);
  860. }/*]*/
  861. }
  862. /*FI]*/
  863. return R;
  864. }
  865. /*No:CALL_INFIX_LT.can_be_dropped*/
  866. /*No:CALL_INFIX_LT.implicit_cast*/
  867. /*No:CALL_INFIX_LT.compile_target_to_jvm*/
  868. /*No:CALL_INFIX_LT.isa_dca_inline_argument*/
  869. /*No:CALL_INFIX_LT.us_lt*/
  870. /*No:CALL_INFIX_LT.arg1*/
  871.  
  872.  
  873. void r129run_feature_has_result(T129* C){
  874. /*[IF*/
  875. if((X27result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  876. r21add_position(X27start_position((C)->_run_feature/*16*/));
  877. r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  878. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms120_53650);
  879. r21fatal_error((T21*)(oBC12eh),b1);
  880. }/*]*/
  881. }
  882. /*FI]*/
  883. }
  884.  
  885.  
  886. T2 r129jvm_standard_branch_if_false(T129* C){
  887. T2 R=0;
  888. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T129* C1=C;
  889. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  890. }/*]*/
  891. /*]*/
  892. R=r28opcode_ifeq((T28*)(oBC12code_attribute));
  893. return R;
  894. }
  895.  
  896.  
  897. T0* r129run_feature_for(T129* C,T0* a1,T0* a2){
  898. T0* R=NULL;
  899. T0* _rc=NULL;
  900. _rc=X52run_class(X109result_type(a1));
  901. R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*12*/,a2);
  902. return R;
  903. }
  904. /*No:CALL_INFIX_LT.target*/
  905.  
  906.  
  907. void r129error(T0* a1,T0* a2){
  908. r21add_position(a1);
  909. r21error((T21*)(oBC12eh),a2);
  910. }
  911.  
  912.  
  913. void r129make(T129* C,T0* a1,T0* a2,T0* a3){
  914. C->_target=a1;
  915. {T141*n=malloc(sizeof(*n));
  916. *n=M141;
  917. r141make(n,r129operator(),a2);
  918. C->_feature_name=(T0*)n;
  919. }
  920. {T152*n=malloc(sizeof(*n));
  921. *n=M152;
  922. /*[IRF3.3make_1*/((((T152*)(n)))->_first_one)=(a3);
  923. /*]*/
  924. C->_arguments=(T0*)n;
  925. }
  926. }
  927. /*No:CALL_INFIX_LT.is_current*/
  928.  
  929.  
  930. T2 r129standard_compile_to_jvm_into(T129* C,T0* a1){
  931. T2 R=0;
  932. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T129* C1=C;
  933. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  934. }/*]*/
  935. /*]*/
  936. R=X52jvm_convert_to(X52run_type(r129result_type(C)),a1);
  937. return R;
  938. }
  939. /*No:CALL_INFIX_LT.is_void*/
  940.  
  941.  
  942. T0* r129operator(void){
  943. T0* R=NULL;
  944. R=((T0*)ms14_61);
  945. return R;
  946. }
  947.  
  948.  
  949. T2 r129jvm_standard_branch_if_true(T129* C){
  950. T2 R=0;
  951. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T129* C1=C;
  952. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  953. }/*]*/
  954. /*]*/
  955. R=r28opcode_ifne((T28*)(oBC12code_attribute));
  956. return R;
  957. }
  958.  
  959.  
  960. void r129afd_check(T129* C){
  961. T0* _running=NULL;
  962. T0* _rc=NULL;
  963. _rc=X52run_class(X109result_type((C)->_target/*4*/));
  964. _running=(((T23*)_rc))->_running/*12*/;
  965. /*[IF*/
  966. if((_running)==((void*)(NULL))){
  967. r21add_position(X109start_position((C)->_target/*4*/));
  968. /*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
  969. r7append((T7*)(oBC21explanation),b1);
  970. }/*]*/
  971. /*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
  972. r7append((T7*)(oBC21explanation),b1);
  973. }/*]*/
  974. /*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
  975. r7append((T7*)(oBC21explanation),b1);
  976. }/*]*/
  977. r21print_as_warning((T21*)(oBC12eh));
  978. r23set_at_run_time(((T23*)_rc));
  979. }
  980.  else if((r340count(((T340*)_running)))>(1)){
  981. r335update((C)->_target/*4*/,(C)->_run_feature/*16*/);
  982. }
  983. /*FI]*/
  984. X109afd_check((C)->_target/*4*/);
  985. /*[IF*/
  986. {/*AT*/r152afd_check((T152*)((C)->_arguments/*8*/));
  987. }
  988. /*FI]*/
  989. }
  990. /*No:LOOP_INVARIANT.nb_errors*/
  991. /*No:LOOP_INVARIANT.start_position*/
  992.  
  993.  
  994. T0* r247twin(T247* C){
  995. T0* R=NULL;
  996. R=malloc(sizeof(*C));
  997. *((T247*)R)=*C;
  998. return R;
  999. }
  1000.  
  1001.  
  1002. T0* r247runnable(T0* a1,T0* a2,T0* a3){
  1003. T0* R=NULL;
  1004. T0* _a=NULL;
  1005. T2 _i=0;
  1006. /*[IF*/
  1007. if(!(r108empty(((T108*)a1)))){
  1008. R=r108twin(((T108*)a1));
  1009. _i=(((T108*)R))->_upper/*8*/;
  1010. while (!((_i)==(0))) {
  1011. r22push((T22*)(oBC12small_eiffel),a3);
  1012. _a=r105to_runnable((T105*)(r108item(((T108*)R),_i)),a2);
  1013. /*[IF*/
  1014. if((_a)==((void*)(NULL))){
  1015. r247error(r105start_position((T105*)(r108item(((T108*)R),_i))),((T0*)ms13_14266));
  1016. }
  1017. else{
  1018. /*[IRF3.6put*/{T108* C1=((T108*)R);
  1019. T0* b1=_a;
  1020. T2 b2=_i;
  1021. ((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
  1022. }/*]*/
  1023. }
  1024. /*FI]*/
  1025. r22pop((T22*)(oBC12small_eiffel));
  1026. _i=(_i)-(1);
  1027. }
  1028. }
  1029. /*FI]*/
  1030. return R;
  1031. }
  1032.  
  1033.  
  1034. T6 r247use_current(T247* C){
  1035. T6 R=0;
  1036. T2 _i=0;
  1037. /*[IF*/
  1038. if(((C)->_list/*8*/)!=((void*)(NULL))){
  1039. _i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
  1040. while (!((R)||((_i)==(0)))) {
  1041. R=r105use_current((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
  1042. _i=(_i)-(1);
  1043. }
  1044. }
  1045. /*FI]*/
  1046. return R;
  1047. }
  1048. /*No:LOOP_INVARIANT.header_comment*/
  1049.  
  1050.  
  1051. T0* r247to_runnable(T247* C,T0* a1){
  1052. T0* R=NULL;
  1053. /*[IF*/
  1054. if(((C)->_current_type/*12*/)==((void*)(NULL))){
  1055. C->_current_type=a1;
  1056. C->_run_feature=r22top_rf((T22*)(oBC12small_eiffel));
  1057. /*[IF*/
  1058. if(((C)->_list/*8*/)!=((void*)(NULL))){
  1059. C->_list=r247runnable((C)->_list/*8*/,a1,(C)->_run_feature/*16*/);
  1060. }
  1061. /*FI]*/
  1062. /*[IF*/
  1063. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  1064. R=(T0*)C;
  1065. }
  1066. /*FI]*/
  1067. }
  1068. else{
  1069. R=r247twin(C);
  1070. /*[IRF3.3set_current_type*/((((T247*)(((T247*)R))))->_current_type)=(NULL);
  1071. /*]*/
  1072. R=r247to_runnable(((T247*)R),a1);
  1073. }
  1074. /*FI]*/
  1075. return R;
  1076. }
  1077. /*No:LOOP_INVARIANT.set_current_type*/
  1078. /*No:LOOP_INVARIANT.fz_bad_assertion*/
  1079. /*No:LOOP_INVARIANT.current_type*/
  1080.  
  1081.  
  1082. void r247error(T0* a1,T0* a2){
  1083. r21add_position(a1);
  1084. r21error((T21*)(oBC12eh),a2);
  1085. }
  1086. /*No:LOOP_INVARIANT.run_feature*/
  1087.  
  1088.  
  1089. void r247make(T247* C,T0* a1,T0* a2,T0* a3){
  1090. C->_start_position=a1;
  1091. C->_header_comment=a2;
  1092. C->_list=a3;
  1093. }
  1094.  
  1095.  
  1096. void r247compile_to_jvm(T247* C,T6 a1){
  1097. T0* _ca=NULL;
  1098. T2 _i=0;
  1099. T2 _point_true=0;
  1100. _ca=oBC12code_attribute;
  1101. r28check_opening(((T28*)_ca));
  1102. /*[IRF3.3clear*/((((T48*)((T48*)(oBC107failure))))->_upper)=(-(1));
  1103. /*]*/
  1104. _i=1;
  1105. while (!((_i)>(((T108*)((C)->_list/*8*/))->_upper/*8*/))) {
  1106. r105compile_to_jvm((T105*)(r108item((T108*)((C)->_list/*8*/),_i)),a1);
  1107. r48add_last((T48*)(oBC107failure),r28opcode_ifeq(((T28*)_ca)));
  1108. _i=(_i)+(1);
  1109. }
  1110. /*[IRF3.4opcode_iconst_1*/r28opcode(((T28*)_ca),4,1);
  1111. /*]*/
  1112. _point_true=r28opcode_goto(((T28*)_ca));
  1113. r28resolve_with(oBC107failure);
  1114. /*[IRF3.4opcode_iconst_0*/r28opcode(((T28*)_ca),3,1);
  1115. /*]*/
  1116. r28resolve_u2_branch(_point_true);
  1117. r28check_closing(((T28*)_ca));
  1118. }
  1119.  
  1120.  
  1121. void r247afd_check(T247* C){
  1122. T2 _i=0;
  1123. /*[IF*/
  1124. if(((C)->_list/*8*/)!=((void*)(NULL))){
  1125. _i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
  1126. while (!((_i)==(0))) {
  1127. r105afd_check((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
  1128. _i=(_i)-(1);
  1129. }
  1130. }
  1131. /*FI]*/
  1132. }
  1133. /*No:LOOP_INVARIANT.list*/
  1134. /*No:TYPE_LIKE_CURRENT.start_position*/
  1135.  
  1136.  
  1137. void r261jvm_initialize_local(T261* C,T2 a1){
  1138. X52jvm_initialize_local((C)->_run_type/*8*/,a1);
  1139. }
  1140.  
  1141.  
  1142. void r261used_as_reference(T261* C){
  1143. X52used_as_reference((C)->_run_type/*8*/);
  1144. }
  1145.  
  1146.  
  1147. T6 r261is_user_expanded(T261* C){
  1148. T6 R=0;
  1149. R=X52is_user_expanded((C)->_run_type/*8*/);
  1150. return R;
  1151. }
  1152.  
  1153.  
  1154. T2 r261id(T261* C){
  1155. T2 R=0;
  1156. R=((T23*)(r261run_class(C)))->_id/*4*/;
  1157. return R;
  1158. }
  1159.  
  1160.  
  1161. void r261jvm_check_class_invariant(T261* C){
  1162. X52jvm_check_class_invariant((C)->_run_type/*8*/);
  1163. }
  1164.  
  1165.  
  1166. T6 r261is_pointer(T261* C){
  1167. T6 R=0;
  1168. R=X52is_pointer((C)->_run_type/*8*/);
  1169. return R;
  1170. }
  1171.  
  1172.  
  1173. T0* r261to_runnable(T261* C,T0* a1){
  1174. T0* R=NULL;
  1175. /*[IF*/
  1176. if(((C)->_run_type/*8*/)==((void*)(NULL))){
  1177. C->_run_type=a1;
  1178. R=(T0*)C;
  1179. }
  1180.  else if(((C)->_run_type/*8*/)==((void*)(a1))){
  1181. R=(T0*)C;
  1182. }
  1183. else{
  1184. {T261*n=malloc(sizeof(*n));
  1185. *n=M261;
  1186. r261with(n,(T0*)C,a1);
  1187. R=(T0*)n;
  1188. }
  1189. }
  1190. /*FI]*/
  1191. return R;
  1192. }
  1193.  
  1194.  
  1195. T0* r261run_class(T261* C){
  1196. T0* R=NULL;
  1197. R=r22run_class((C)->_run_type/*8*/);
  1198. return R;
  1199. }
  1200. /*No:TYPE_LIKE_CURRENT.is_like_current*/
  1201.  
  1202.  
  1203. T6 r261is_bit(T261* C){
  1204. T6 R=0;
  1205. R=X52is_bit((C)->_run_type/*8*/);
  1206. return R;
  1207. }
  1208.  
  1209.  
  1210. T0* r261smallest_ancestor(T261* C,T0* a1){
  1211. T0* R=NULL;
  1212. R=X52smallest_ancestor((C)->_run_type/*8*/,a1);
  1213. return R;
  1214. }
  1215.  
  1216.  
  1217. void r261jvm_write_local(T261* C,T2 a1){
  1218. X52jvm_write_local((C)->_run_type/*8*/,a1);
  1219. }
  1220.  
  1221.  
  1222. T0* r261run_time_mark(T261* C){
  1223. T0* R=NULL;
  1224. /*[IF*/
  1225. if(((C)->_run_type/*8*/)!=((void*)(NULL))){
  1226. R=X52run_time_mark((C)->_run_type/*8*/);
  1227. }
  1228. /*FI]*/
  1229. return R;
  1230. }
  1231.  
  1232.  
  1233. T6 r261is_expanded(T261* C){
  1234. T6 R=0;
  1235. R=X52is_expanded((C)->_run_type/*8*/);
  1236. return R;
  1237. }
  1238.  
  1239.  
  1240. T2 r261jvm_if_x_eq(T261* C){
  1241. T2 R=0;
  1242. R=X52jvm_if_x_eq((C)->_run_type/*8*/);
  1243. return R;
  1244. }
  1245.  
  1246.  
  1247. void r261jvm_xnewarray(T261* C){
  1248. X52jvm_xnewarray((C)->_run_type/*8*/);
  1249. }
  1250.  
  1251.  
  1252. void r261jvm_push_local(T261* C,T2 a1){
  1253. X52jvm_push_local((C)->_run_type/*8*/,a1);
  1254. }
  1255. /*No:TYPE_LIKE_CURRENT.fz_dot*/
  1256. /*No:TYPE_LIKE_CURRENT.is_like_feature*/
  1257.  
  1258.  
  1259. T6 r261is_a(T261* C,T0* a1){
  1260. T6 R=0;
  1261. /*[IF*/
  1262. if(X52is_like_current(a1)){
  1263. R=1;
  1264. }
  1265. else{
  1266. R=X52is_a((C)->_run_type/*8*/,a1);
  1267. }
  1268. /*FI]*/
  1269. return R;
  1270. }
  1271.  
  1272.  
  1273. T0* r261written_mark(void){
  1274. T0* R=NULL;
  1275. R=((T0*)ms14_22320);
  1276. return R;
  1277. }
  1278.  
  1279.  
  1280. T6 r261is_character(T261* C){
  1281. T6 R=0;
  1282. R=X52is_character((C)->_run_type/*8*/);
  1283. return R;
  1284. }
  1285. /*No:TYPE_LIKE_CURRENT.make*/
  1286.  
  1287.  
  1288. T2 r261jvm_convert_to(T261* C,T0* a1){
  1289. T2 R=0;
  1290. R=X52jvm_convert_to((C)->_run_type/*8*/,X52run_type(a1));
  1291. return R;
  1292. }
  1293.  
  1294.  
  1295. void r261fatal_error_generic_list(T261* C){
  1296. r21add_type((T0*)C,((T0*)ms52_29184));
  1297. r21print_as_fatal_error((T21*)(oBC12eh));
  1298. }
  1299.  
  1300.  
  1301. T6 r261is_array(T261* C){
  1302. T6 R=0;
  1303. R=X52is_array((C)->_run_type/*8*/);
  1304. return R;
  1305. }
  1306.  
  1307.  
  1308. T2 r261jvm_push_default(T261* C){
  1309. T2 R=0;
  1310. R=X52jvm_push_default((C)->_run_type/*8*/);
  1311. return R;
  1312. }
  1313.  
  1314.  
  1315. T6 r261is_dummy_expanded(T261* C){
  1316. T6 R=0;
  1317. R=X52is_dummy_expanded((C)->_run_type/*8*/);
  1318. return R;
  1319. }
  1320.  
  1321.  
  1322. T0* r261generic_list(T261* C){
  1323. T0* R=NULL;
  1324. /*[IF*/
  1325. if(r261is_generic(C)){
  1326. R=X52generic_list((C)->_run_type/*8*/);
  1327. }
  1328. else{
  1329. r261fatal_error_generic_list(C);
  1330. }
  1331. /*FI]*/
  1332. return R;
  1333. }
  1334.  
  1335.  
  1336. T0* r261base_class(T261* C){
  1337. T0* R=NULL;
  1338. T0* _bcn=NULL;
  1339. _bcn=r261base_class_name(C);
  1340. /*[IF*/
  1341. if((_bcn)!=((void*)(NULL))){
  1342. R=r70base_class(((T70*)_bcn));
  1343. }
  1344. else{
  1345. /*[IRF3.6append*/{T0* b1=((T0*)ms52_37098);
  1346. r7append((T7*)(oBC21explanation),b1);
  1347. }/*]*/
  1348. r21add_type((T0*)C,((T0*)ms13_47));
  1349. r21print_as_fatal_error((T21*)(oBC12eh));
  1350. }
  1351. /*FI]*/
  1352. return R;
  1353. }
  1354.  
  1355.  
  1356. T2 r261jvm_if_x_ne(T261* C){
  1357. T2 R=0;
  1358. R=X52jvm_if_x_ne((C)->_run_type/*8*/);
  1359. return R;
  1360. }
  1361.  
  1362.  
  1363. T0* r261base_class_name(T261* C){
  1364. T0* R=NULL;
  1365. R=X52base_class_name((C)->_run_type/*8*/);
  1366. return R;
  1367. }
  1368. /*No:TYPE_LIKE_CURRENT.is_formal_generic*/
  1369.  
  1370.  
  1371. void r261jvm_standard_is_equal(T261* C){
  1372. X52jvm_standard_is_equal((C)->_run_type/*8*/);
  1373. }
  1374.  
  1375.  
  1376. T6 r261is_a_in(T261* C,T0* a1,T0* a2){
  1377. T6 R=0;
  1378. T0* _ct=NULL;
  1379. T0* _t2=NULL;
  1380. T0* _t1=NULL;
  1381. /*[IF*/
  1382. if((r261written_mark())==((void*)(X52written_mark(a1)))){
  1383. R=1;
  1384. }
  1385. else{
  1386. _ct=(((T23*)a2))->_current_type/*0*/;
  1387. _t1=r261to_runnable(C,_ct);
  1388. _t2=X52to_runnable(a1,_ct);
  1389. /*[IF*/
  1390. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  1391. R=1;
  1392. }
  1393. else{
  1394. R=X52is_a(_t1,_t2);
  1395. }
  1396. /*FI]*/
  1397. }
  1398. /*FI]*/
  1399. return R;
  1400. }
  1401.  
  1402.  
  1403. T0* r261look_up_for(T261* C,T0* a1,T0* a2){
  1404. T0* R=NULL;
  1405. R=r63look_up_for((T63*)(r261base_class(C)),a1,a2);
  1406. return R;
  1407. }
  1408. /*No:TYPE_LIKE_CURRENT.run_type*/
  1409. /*No:TYPE_LIKE_CURRENT.us_like_current*/
  1410.  
  1411.  
  1412. T0* r261expanded_initializer(T261* C){
  1413. T0* R=NULL;
  1414. R=X52expanded_initializer((C)->_run_type/*8*/);
  1415. return R;
  1416. }
  1417.  
  1418.  
  1419. T6 r261has_creation(T261* C,T0* a1){
  1420. T6 R=0;
  1421. R=X52has_creation((C)->_run_type/*8*/,a1);
  1422. return R;
  1423. }
  1424.  
  1425.  
  1426. T2 r261jvm_method_flags(T261* C){
  1427. T2 R=0;
  1428. R=X52jvm_method_flags((C)->_run_type/*8*/);
  1429. return R;
  1430. }
  1431.  
  1432.  
  1433. T6 r261is_boolean(T261* C){
  1434. T6 R=0;
  1435. R=X52is_boolean((C)->_run_type/*8*/);
  1436. return R;
  1437. }
  1438.  
  1439.  
  1440. T6 r261is_generic(T261* C){
  1441. T6 R=0;
  1442. R=X52is_generic((C)->_run_type/*8*/);
  1443. return R;
  1444. }
  1445.  
  1446.  
  1447. void r261jvm_xaload(T261* C){
  1448. X52jvm_xaload((C)->_run_type/*8*/);
  1449. }
  1450.  
  1451.  
  1452. T6 r261is_real(T261* C){
  1453. T6 R=0;
  1454. R=X52is_real((C)->_run_type/*8*/);
  1455. return R;
  1456. }
  1457.  
  1458.  
  1459. void r261with(T261* C,T0* a1,T0* a2){
  1460. C->_start_position=(((T261*)a1))->_start_position/*4*/;
  1461. C->_run_type=a2;
  1462. }
  1463.  
  1464.  
  1465. T6 r261is_any(T261* C){
  1466. T6 R=0;
  1467. R=X52is_any((C)->_run_type/*8*/);
  1468. return R;
  1469. }
  1470.  
  1471.  
  1472. T6 r261is_basic_eiffel_expanded(T261* C){
  1473. T6 R=0;
  1474. R=X52is_basic_eiffel_expanded((C)->_run_type/*8*/);
  1475. return R;
  1476. }
  1477.  
  1478.  
  1479. void r261jvm_descriptor_in(T261* C,T0* a1){
  1480. X52jvm_descriptor_in((C)->_run_type/*8*/,a1);
  1481. }
  1482.  
  1483.  
  1484. T6 r261is_string(T261* C){
  1485. T6 R=0;
  1486. R=X52is_string((C)->_run_type/*8*/);
  1487. return R;
  1488. }
  1489.  
  1490.  
  1491. T6 r261is_native_array(T261* C){
  1492. T6 R=0;
  1493. T0* _tna=NULL;
  1494. _tna=(T0*)C;
  1495. if(NULL!=(_tna))switch(((T0*)_tna)->id) {
  1496. case 267: 
  1497. break;
  1498. default:
  1499. _tna=NULL;
  1500. };R=(_tna)!=((void*)(NULL));
  1501. return R;
  1502. }
  1503.  
  1504.  
  1505. T6 r261is_integer(T261* C){
  1506. T6 R=0;
  1507. R=X52is_integer((C)->_run_type/*8*/);
  1508. return R;
  1509. }
  1510. /*No:TYPE_LIKE_CURRENT.is_anchored*/
  1511. /*No:TYPE_LIKE_CURRENT.is_run_type*/
  1512.  
  1513.  
  1514. T6 r261is_reference(T261* C){
  1515. T6 R=0;
  1516. R=X52is_reference((C)->_run_type/*8*/);
  1517. return R;
  1518. }
  1519.  
  1520.  
  1521. T6 r261is_none(T261* C){
  1522. T6 R=0;
  1523. R=X52is_none((C)->_run_type/*8*/);
  1524. return R;
  1525. }
  1526.  
  1527.